package com.findyou.pojo;


import com.fasterxml.jackson.annotation.JsonIgnore;
import com.findyou.anno.State;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.groups.Default;
import lombok.Data;
import org.hibernate.validator.constraints.URL;

import java.time.LocalDateTime;

@Data
public class Article {

    private Integer id;//主键ID

    @NotEmpty
    @Pattern(regexp = "^\\S{1,10}$") // 1-10个非空字符
    private String title;//文章标题

    @NotEmpty // 必须的
    private String content;//文章内容

    @URL
    @NotEmpty
    private String coverImg;//封面图像

    @State
    //自定义注解
    private String state;//发布状态 已发布|草稿

    @NotNull
    private Integer categoryId;//文章分类id

//    @JsonIgnore//属性在反序列化过程中被忽略:当从JSON字符串反序列化为对象时，被标记为 @JsonIgnore 的属性将会被忽略，即不会被填充到对象中。
    private Integer createUser;//创建人ID

    private LocalDateTime createTime;//创建时间

    private LocalDateTime updateTime;//更新时间

    public interface add extends Default {

    }
}
